Learn R Programming

Compositional (version 1.4)

Tuning the principal components with GLMs: Tuning the principal components with GLMs

Description

Tuning the number of principal components in the generalised linear models.

Usage

glmpcr.tune(y, x, M = 10, maxk = 10, mat = NULL, ncores = 1, graph = TRUE)

Arguments

y
A real valued vector.
x
The predictor variables, they have to be continuous.
M
The number of folds in the cross validation.
maxk
The maximum number of principal components to check.
mat
You can specify your own folds by giving a mat, where each column is a fold. Each column contains indices of the observations. You can also leave it NULL and it will create folds.
ncores
The number of cores to use. If more than 1, parallel computing will take place. It is advisable to use it if you have many observations and or many variables, otherwise it will slow down th process.
graph
If graph is TRUE a plot of the performance for each fold along the values of $\alpha$ will appear.

Value

If graph is TRUE a plot of the performance versus the number of principal components will appear. A list including:
msp
A matrix with the mean squared error of prediction (MSPE) for every fold.
mpd
A vector with the mean squared error of prediction (MSPE), each value corresponds to a number of principal components.
k
The number of principal components which minimizes the MSPE.
performance
The bias corrected lowest value of the MSPE along with the estimated bias via the Tibshirani and Tibshirani (2009) suggestion.
runtime
The time required by the cross-validation procedure.

Details

Cross validation is performed to select the optimal number of principal components in the GLM. This is used by alfapcr.tune.

References

Aguilera A.M., Escabias M. and Valderrama M.J. (2006). Using principal components for estimating logistic regression with high-dimensional multicollinear data. Computational Statistics & Data Analysis 50(8): 1905-1924.

Jolliffe I.T. (2002). Principal Component Analysis.

Tibshirani and Tibshirani (2009). A bias correction for the minimum error rate in cross-validation. The Annals of Applied Statistics, 3(1):822-829.

See Also

pcr.tune, glm.pcr, alfa.pcr, alfapcr.tune

Examples

Run this code
library(MASS)
x <- fgl[, 2:9]
y <- rpois(214, 10)
glmpcr.tune(y, x, M=10, maxk = 20, mat = NULL, ncores = 1)

Run the code above in your browser using DataLab